1. Field of the Invention
The invention relates generally to the field of digital signal communications and channel allocation. More particularly, the invention relates to closing a communications stream between two communicating terminals using a very short messaging sequence with minimum latency.
2. Description of the Related Art
In data communications systems that share communications channels, a procedure must be implemented to allow different users to take turns using the channels. In many systems, users are allocated a channel for a limited period of time. Then the channel is de-allocated and allocated to another user. This is known as a circuit-switched system. In circuit-switched systems extensive setup must be done so that subsequent packets do not need to carry the full routing information. The packets instead will always travel the same circuit until that circuit is switched. In other systems, channels are never allocated but are always shared. This kind of system requires no overhead signaling for channel allocation and deallocation but must have some way of directing packets and of resolving conflicts. Such systems are typically called packet-switched because each packet contains the full routing information required to direct the packet to its intended destination. Packet switching requires no overhead in the setup but adds significant overhead to each packet.
In order to maximize the use of shared channels, the system should be able to efficiently use channels for very short periods. The system may be inefficient if the time needed to allocate and deallocate the channel is large in comparison to the time that the channel is in use.
The present invention relates to two major aspects of channel deallocation. The first is the decision of when to deallocate a channel; the second is how to perform the deallocation as efficiently as possible. The channel deallocation decision involves a tradeoff between minimizing system usage efficiency and minimizing data latency for individual users. In some cases, the deallocation decision can benefit both resource usage efficiency and latency, but in most cases the decision will improve one and degrade the other.
This trade-off has been addressed in previous systems in several ways. In one approach, channels are deallocated with a multiple step handshake. The handshake includes an explicit acknowledgement in order to deallocate the channel. This requires that the initiator of the deallocation keep the channel open until the peer has responded. It also requires that the peer keep the channel open long enough to send the response. This reduces the amount of time that the channel can be available for others. In other systems, still more stages are required in that there are multiple interactions. This may happen, for example, if multiple protocol layers are involved in the allocation and deallocation of each channel, so each protocol layer has to be terminated separately.
In other systems, a channel is terminated immediately when there is no data, in spite of the finite channel allocation and deallocation cost. This can waste system resources and increase user latency. On the other hand to keep a channel open for a long period when there is no data also wastes system resources. An alternative approach is not to allocate channels at all; instead all users share channels by putting full routing information into every packet, a packet-switched system. In a packet-switched system, there is no allocation or deallocation, but efficiency is reduced because there is extra overhead for every packet.
The present invention can minimize the difficulty of closing communications channels. This allows channels to be used for very short durations without dedicating a large amount of the communications resources to overhead. As a result, the communications system can be packet oriented rather than circuit oriented without being packet-switched. As a result, the communications system can efficiently create circuits which only deliver a few packets. The present invention also can optimize the amount of time during which a channel is left open even when there is no data to transmit.
Among the difficulties to be minimized in closing communications that can be minimized are latency and interference between users. Latency between the time a channel is no longer needed and the time it is closed can be reduced by optimizing the channel deallocation messages. Latency between the time a channel is no longer needed and the time that a decision to deallocate is reached can be minimized by providing other channel characteristics and parameters along with the channel request. It can also be minimized using channel characteristics and smart decision parameters that have already been established by channel and data history. Limits on system capacity due to contention between users can be reduced by limiting the number of messages required to deallocate a channel and by reducing the number of allocation and deallocation cycles.